import { DialogForm } from 'custom/index'
import Remark from '../components/Remark.vue'
import { cooperateStatusOptions, feeModelOptions, excludingRefundsOptions } from '../constant'
import { addCustomerShop, getCustomerShopDetail, updateCustomerShop, getLastShopInfo } from '../api'
import InputItem from "@/components/form-item/InputItem.vue";
import { useUserStore } from '@/plugins/store'

const addShopDialog = new DialogForm('DialogForm')

addShopDialog
  .title('添加店铺')
  .getApi(async () => {
    const user = useUserStore()
    return {
      storeLiaison: user.user.flowerName
    }
  })
  .useGroup('基础信息')
    .useSelect('cooperateStatus', cooperateStatusOptions).label('合作状态').required().end()
    .useDictSelect('platformNo', 'platform').label('平台').setProp('widthLabel', 'platformName').required().end()
    .useDictSelect('shopTypeNo', 'shopType').label('店铺类型').setProp('widthLabel', 'shopTypeName').required().end()
    .useItem('shopName').label('店铺名称').required().end()
    .useItem('shopGroup').label('店铺分组').end()
    .useSelect('feeModel', feeModelOptions).label('收费模式').required().end()
    .useDictSelect('marketTypeNo', 'marketType').label('营销类型').setProp('widthLabel', 'marketTypeName').end()
    .useDictSelect('expandTypeNo', 'expandType').label('拓客渠道').setProp('widthLabel', 'expandTypeName').end()
    .useCityPicker('area').label('所属城市').setProp('style', 'width: 100%').required().end()
    .useItem('shopLinkUrl').label('店铺链接').end()
    .useDatePicker('startDate').label('开始日期').required().end()
    .useDatePicker('endDate').label('截止日期').required().end()
    .upto('DialogForm')
  .useGroup('其他信息')
    .useRadio('excludingRefunds', excludingRefundsOptions).label('剔除退款').end()
    .useDictSelect('customTypeNo', 'customType').label('客服类型').setProp('widthLabel', 'customTypeName').required().end()
    .useDictSelect('serviceShiftNo', 'serviceShift').label('服务班次').setProp('widthLabel', 'serviceShiftName').required().end()
    .useItem('baseSalary').label('底薪(元)').end()
    .useItem('commission').label('提成(%)').end()
    .useItem('consultPeopleNum').label('咨询人数(人)').end()
    .useItem('conversionRate').label('转化率(%)').end()
    .useItem('responseSecond').label('响应时间(秒)').end()
    .useItem('contacts').label('联系人姓名').end()
    .useItem('phone').label('手机').end()
    .useItem('wechat').label('微信').end()
    .useItem('qq').label('QQ').end()
    .useItem('ding').label('钉钉').end()
    .useDictSelect('fitRatioNo', 'fitRatio').label('客户配合度').setProp('widthLabel', 'fitRatioName').required().end()
    .useItem('customerServiceMessage').label('特别备注').setProps({ type: 'textarea', autosize: true, placeholder: '给客服查看' }).end()
    .useItem('remark').setComponent(Remark).label('备注').setProps({ type: 'textarea', autosize: true, placeholder:  '给市场内部查看' }).required().end()
    // .useItem('storeLiaison').label('授权分组').end()
    .useItem('storeLiaison').label('店铺对接人').end()
    .useDictSelect('dockingPlatform', 'contactType').label('对接渠道').required().end()


const addShopInCustomDialog = new DialogForm('DialogForm')

addShopInCustomDialog
  .title('添加店铺')
  .getApi(async (_, row) => {
    const user = useUserStore()
    const res = await getLastShopInfo({ customerId: row.customerId })
    return {
      ...row,
      ...res,
      storeLiaison: user.user.flowerName
    }
  })
  .postApi(addCustomerShop)
  .useGroup('基础信息')
    .useSelect('cooperateStatus', cooperateStatusOptions).label('合作状态').required().end()
    .useDictSelect('platformNo', 'platform').label('平台').setProp('widthLabel', 'platformName').required().end()
    .useDictSelect('shopTypeNo', 'shopType').label('店铺类型').setProp('widthLabel', 'shopTypeName').required().end()
    .useItem('shopName').label('店铺名称').required().end()
    .useItem('shopGroup').label('店铺分组').end()
    .useSelect('feeModel', feeModelOptions).label('收费模式').required().end()
    .useDictSelect('marketTypeNo', 'marketType').label('营销类型').setProp('widthLabel', 'marketTypeName').end()
    .useDictSelect('expandTypeNo', 'expandType').label('拓客渠道').setProp('widthLabel', 'expandTypeName').end()
    .useCityPicker('area').label('所属城市').setProp('style', 'width: 100%').required().end()
    .useItem('shopLinkUrl').label('店铺链接').end()
    .useDatePicker('startDate').label('开始日期').required().end()
    .useDatePicker('endDate').label('截止日期').required().end()
    .upto('DialogForm')
  .useGroup('其他信息')
    .useRadio('excludingRefunds', excludingRefundsOptions).label('剔除退款').end()
    .useDictSelect('customTypeNo', 'customType').label('客服类型').setProp('widthLabel', 'customTypeName').required().end()
    .useDictSelect('serviceShiftNo', 'serviceShift').label('服务班次').setProp('widthLabel', 'serviceShiftName').required().end()
    // .useItem('baseSalary').label('底薪(元)').setProps({disabled: true}).end()
    .useCustomItem(InputItem,'baseSalary').label('底薪(元)').end()
    .useItem('commission').label('提成(%)').end()
    .useItem('consultPeopleNum').label('咨询人数(人)').end()
    .useItem('conversionRate').label('转化率(%)').end()
    .useItem('responseSecond').label('响应时间(秒)').end()
    .useItem('contacts').label('联系人姓名').end()
    .useItem('phone').label('手机').end()
    .useItem('wechat').label('微信').end()
    .useItem('qq').label('QQ').end()
    .useItem('ding').label('钉钉').end()
    .useDictSelect('fitRatioNo', 'fitRatio').label('客户配合度').setProp('widthLabel', 'fitRatioName').required().end()
    .useItem('customerServiceMessage').label('特别备注').setProps({ type: 'textarea', autosize: true, placeholder: '给客服查看' }).end()
    .useItem('remark').setComponent(Remark).label('备注').setProps({ type: 'textarea', autosize: true, placeholder:  '给市场内部查看' }).required().end()
    // .useItem('storeLiaison').label('授权分组').end()
    .useItem('storeLiaison').label('店铺对接人').end()
    .useDictSelect('dockingPlatform', 'contactType').label('对接渠道').required().end()
  
const editShopDialog = new DialogForm('DialogForm')

editShopDialog
  .title('修改店铺')
  .getApi(async (_, row) => {
    return getCustomerShopDetail(row)
  })
  .postApi(updateCustomerShop)
  .useGroup('基础信息')
    .useSelect('cooperateStatus', cooperateStatusOptions).label('合作状态').required().end()
    .useDictSelect('platformNo', 'platform').label('平台').setProp('widthLabel', 'platformName').required().end()
    .useDictSelect('shopTypeNo', 'shopType').label('店铺类型').setProp('widthLabel', 'shopTypeName').required().end()
    .useItem('shopName').label('店铺名称').required().end()
    .useItem('shopGroup').label('店铺分组').end()
    .useSelect('feeModel', feeModelOptions).label('收费模式').required().end()
    .useDictSelect('marketTypeNo', 'marketType').label('营销类型').setProp('widthLabel', 'marketTypeName').end()
    .useDictSelect('expandTypeNo', 'expandType').label('拓客渠道').setProp('widthLabel', 'expandTypeName').end()
    .useCityPicker('area').label('所属城市').setProp('style', 'width: 100%').required().end()
    .useItem('shopLinkUrl').label('店铺链接').end()
    .useDatePicker('startDate').label('开始日期').required().end()
    .useDatePicker('endDate').label('截止日期').required().end()
    .upto('DialogForm')
  .useGroup('其他信息')
    .useRadio('excludingRefunds', excludingRefundsOptions).label('剔除退款').end()
    .useDictSelect('customTypeNo', 'customType').label('客服类型').setProp('widthLabel', 'customTypeName').required().end()
    .useDictSelect('serviceShiftNo', 'serviceShift').label('服务班次').setProp('widthLabel', 'serviceShiftName').required().end()
    // .useItem('baseSalary').label('底薪(元)').end()
    .useCustomItem(InputItem,'baseSalary').label('底薪(元)').end()
    .useItem('commission').label('提成(%)').end()
    .useItem('consultPeopleNum').label('咨询人数(人)').end()
    .useItem('conversionRate').label('转化率(%)').end()
    .useItem('responseSecond').label('响应时间(秒)').end()
    .useItem('contacts').label('联系人姓名').end()
    .useItem('phone').label('手机').end()
    .useItem('wechat').label('微信').end()
    .useItem('qq').label('QQ').end()
    .useItem('ding').label('钉钉').end()
    .useDictSelect('fitRatioNo', 'fitRatio').label('客户配合度').setProp('widthLabel', 'fitRatioName').required().end()
    .useItem('customerServiceMessage').label('特别备注').setProps({ type: 'textarea', autosize: true, placeholder: '给客服查看' }).end()
    .useItem('remark').setComponent(Remark).label('备注').setProps({ type: 'textarea', autosize: true, placeholder:  '给市场内部查看' }).required().end()
    // .useItem('storeLiaison').label('授权分组').end()
    .useItem('storeLiaison').label('店铺对接人').end()
    .useDictSelect('dockingPlatform', 'contactType').label('对接渠道').required().end()

export { addShopDialog, addShopInCustomDialog, editShopDialog }
